package com.kkd.kkdapp.pinnedsection;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;

import com.kkd.kkdapp.R;
import com.kkd.kkdapp.pinnedsection.PinnedSectionRefreshListView.IXListViewListener;

/**
 * 仿虎扑,带悬浮标题的PinnedSectionListView,可下拉刷新上拉加载的Demo
 * 按照时间进行分类,header时间格式(yyyy-MM-dd)滑到顶部悬浮,item时间格式HH:mm:ss.
 * 
 * @author max.chengdu 2015年11月29日
 * 
 */
public class TextPinActivity extends Activity implements IXListViewListener {
	// 带时间分类悬浮的listview
	private PinnedSectionRefreshListView mListView;
	// 从后台后去的源数据,主要包含一个时间 和内容item; 这个根据实际需求可以修改
	private List<Messages> mData;
	// 将源数据处理成分组后的数据
	private ArrayList<PinnedSectionBean> real_data;
	private WarnDetailAdapter mAdapter;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_text_pin);
		init();
		initData();
		show();
	}

	/** 初始化控件 **/
	private void init() {
		mListView = (PinnedSectionRefreshListView) findViewById(R.id.list);
		mListView.setDividerHeight(0);
	}

	/** 初始化数据,这里已测试数据.实际开发 从后台获取的数据 **/
	private void initData() {
		mData = new ArrayList<Messages>();
		for (int i = 0; i < 44; i++) {
			Messages messages = new Messages();
			if (i < 10) {
				messages.setTime("2015-10-11 0" + i + ":00:00");
			} else {
				messages.setTime("2015-10-12 " + i + ":00:00");
			}
			messages.setContent("这是第" + i + "项的内容");
			mData.add(messages);
		}
		// 把数据转换成带分类后的数据,实际list setadapter是这个real_data;
		real_data = new ArrayList<PinnedSectionBean>();
		real_data = PinnedSectionBean.getData(mData);
		mListView.setPullLoadEnable(true);
		mListView.setXListViewListener(this);
	}

	/** 显示分好类的listview **/
	private void show() {
//		mAdapter = new WarnDetailAdapter(real_data, this);
		mListView.setAdapter(mAdapter);
	}

	@Override
	public void onRefresh() {
		new Handler().postDelayed(new Runnable() {

			@Override
			public void run() {
				mListView.stopRefresh();
			}
		}, 2000);
	}

	@Override
	public void onLoadMore() {
		new Handler().postDelayed(new Runnable() {

			@Override
			public void run() {
				mListView.stopLoadMore(1);
				// TODO Auto-generated method stub
			}
		}, 2000);
	}

}
